function plot_result(plot_string,plot_color,training_time, testing_time, training_accuracy, testing_accuracy, node_range, name_of_datasets, elapsed_time)
    % 检查 figure(1) 是否存在，不存在则创建并设置总标题

    if isempty(findobj('Type', 'Figure', 'Number', 1))
        figure(1);
        sgtitle(name_of_datasets);
    else
        figure(1); % 切换到现有图形窗口
    end
    % 计算行均值和标准差
    mean_training_time = mean(training_time, 2);
    mean_testing_time = mean(testing_time, 2);
    mean_training_accuracy = mean(training_accuracy, 2);
    mean_testing_accuracy = mean(testing_accuracy, 2);

    std_training_time = std(training_time, 0, 2);
    std_testing_time = std(testing_time, 0, 2);
    std_training_accuracy = std(training_accuracy, 0, 2);
    std_testing_accuracy = std(testing_accuracy, 0, 2);



    % 训练时间子图
    subplot(2, 2, 1);
    errorbar(node_range, mean_training_time, std_training_time, 'Color', plot_color, 'DisplayName', plot_string);
    xlabel('节点量');
    ylabel('训练时间');
    title('训练时间 vs 节点量');
    hold on;

    % 测试时间子图
    subplot(2, 2, 2);
    errorbar(node_range, mean_testing_time, std_testing_time, 'Color', plot_color, 'DisplayName', plot_string);
    xlabel('节点量');
    ylabel('测试时间');
    title('测试时间 vs 节点量');
    hold on;

    % 训练精度子图
    subplot(2, 2, 3);
    errorbar(node_range, mean_training_accuracy, std_training_accuracy, 'Color', plot_color, 'DisplayName', plot_string);
    xlabel('节点量');
    ylabel('训练精度');
    title('训练精度 vs 节点量');
    hold on;

    % 测试精度子图
    subplot(2, 2, 4);
    errorbar(node_range, mean_testing_accuracy, std_testing_accuracy, 'Color', plot_color, 'DisplayName', plot_string);
    xlabel('节点量');
    ylabel('测试精度');
    title('测试精度 vs 节点量');
    hold on;

    for i = 1:4
        subplot(2, 2, i);
        legend('Location', 'bestoutside', 'FontSize', 10);
    end

    % 显示耗时信息
    plot_string =plot_string + "方法经过的时间为：" + num2str(elapsed_time) + "秒";
    disp(plot_string);
end